#define _GNU_SOURCE
#include <curl/curl.h>
#include <unistd.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
#include <regex.h>
#include "cJSON/cJSON.h"
#include "data_type.h"

#ifndef MY_FUNC_H
#define MY_FUNC_H
//*****************************************************************************
//		函数声明
//*****************************************************************************

//	从json文件中提取调度令信息
bool json_to_order_page(const char *,struct order_page*);

//	删除html中的回车
void kill_cr_lf(char *,char *);


//正则查找，返回符合的最后一个匹配
char* regex(char*,char*,char*);		

//	http 线程调用函数
void * http_thread_proc(void*);
//	网络状态检查函数
void * net_check_proc(void*);
//	http body回调函数
size_t http_cb_func(char*,size_t,size_t,void*);
//	http header回调函数
size_t http_hd_cb_func(char*,size_t,size_t,void*);
//	从内容中提取json格式文本
char* find_match_json_string(struct data_buffer *,char *,size_t *);
//	从json文件中提取符合条件的id
void find_id_in_json(char *,struct int_queue_node* );
//	从json文件中提取order_page
bool get_order_pages_from_json(char*,struct order_page_node*);
//	双引号去转义函数
char* kill_slash_before_double_quote(char*,size_t);
//	将16进制数据转换成对应的字符串
void hex_to_str(unsigned char*,unsigned char*,int);
//	将调度单信息写入文件
bool order_page_to_file(struct order_page *,char *);
//	从文件读取调度单信息
bool order_page_from_file(struct order_page *,char *);
//	打印出调单信息 调试用
void print_order_page(struct order_page *);
//
int int_queue_count(struct int_queue_node*);

//*******************************************************************************************
//	regex func
//*******************************************************************************************
char* regex_find(char* dst,char* content,char* regex);
























#endif
